Terraform: Up and Running: Writing Infrastructure as Code
Downloads:3729
Type:Epub+TxT+PDF+Mobi
Create Date:2022-09-30 09:21:37
Update Date:2025-09-07
Status:finish
Author:Yevgeniy Brikman
ISBN:1098116747
Environment:PC/Android/iPhone/iPad/Kindle
Reviews
Tiago,
I"ve read this book as an intro to Terraform to support a migration project to the cloud。 With the clear explanations and examples, in a couple of days, I managed to start writing modules and simple infrastructure。 The chapters are very well structured each taking on a different topic which allowed me to start delivering small changes and iteratively developing what we needed。 I highly recommend it to anyone curious or starting with this technology。 I"ve read this book as an intro to Terraform to support a migration project to the cloud。 With the clear explanations and examples, in a couple of days, I managed to start writing modules and simple infrastructure。 The chapters are very well structured each taking on a different topic which allowed me to start delivering small changes and iteratively developing what we needed。 I highly recommend it to anyone curious or starting with this technology。 。。。more
Amir Kazemi,
Incredible first chapter。 It cleared a lot of confusion for me regarding how different tools are used together。
Bjoern Rochel,
I have been using Terraform at work for a couple of weeks。 The setup was created by co-workers and I wanted to dive into this book to learn a bit more about TF on top of what I've already learned via d2d work。 The biggest opportunity that I take away from the book is thinking more about the structure of the TF files。 I think the template presented here is pretty good, scalable and at least easier to digest than what I'm currently working on。 And we also came to the conclusion that TF state shoul I have been using Terraform at work for a couple of weeks。 The setup was created by co-workers and I wanted to dive into this book to learn a bit more about TF on top of what I've already learned via d2d work。 The biggest opportunity that I take away from the book is thinking more about the structure of the TF files。 I think the template presented here is pretty good, scalable and at least easier to digest than what I'm currently working on。 And we also came to the conclusion that TF state should be broken up into smaller, independent chunks。 So that's cool。The book also helped me to get a better understanding of the basic TF building blocks and how they're ideally used in concert, namely inputs, data, outputs, resources and modules。One thing where I had hoped to get more out of is the "testing" chapter。 I'm not sold on the presented approach。 Or in other words: the approach presented here seems a lot of effort compared to what I'm currently working on which also works reasonably well (gitops + pre-prod env + terraform。io and inspecting the plan-output in Github PRs)。All in all it wasn't bad, but I had hoped to get a bit more out of it。 。。。more
Bartłomiej Falkowski,
I usually write a review only some time after I finish reading。 At first, I rated it only four stars - just a really solid book about Terraform I thought。 When I started writing this review, I tried to find some weaknesses in order to explain it。 And you know what? I couldn't find anything。 So I change my rate! Five stars here。What I liked:- This book helped me understanding how Terraform works and what are the strengths / weaknnesses (immutable, declarative, agentless and so on) - Practical exa I usually write a review only some time after I finish reading。 At first, I rated it only four stars - just a really solid book about Terraform I thought。 When I started writing this review, I tried to find some weaknesses in order to explain it。 And you know what? I couldn't find anything。 So I change my rate! Five stars here。What I liked:- This book helped me understanding how Terraform works and what are the strengths / weaknnesses (immutable, declarative, agentless and so on) - Practical examples with AWS provider。- Comparison of Terraform versus other IaC tools。- First chapters were high-quality (but still) tutorial for using the Terraform。 There was a lot of content but I didn't feel completely satisfied (maybe this is the reason behind my initial lower rate。。。)。 However, the second half of the book has filled "the vessel with water"。 Great chapters about testing and using Terraform as a team (love the checklist and workflow of deployment)。- Many tips and good software engineering practices scattered throughout the book (small modules, DI, composability, testability etc。)。 I appreciate that author tried no to stick solely to the teaching of Terraform API and Terraform tricks。 It's rather a full-fledged help how to use Terraform as a IaC tool in enterprise production enviromnent。I recommend! 。。。more
Matúš,
Great book as introduction to Terraform and whole Infrastructure as a Code approach。 It describes every aspect and feature of the framework, some of them are repeated through whole book to underline their pros and cons。 But as it was mentioned, mastering of Terraform can be only achieved by managing real infra through it。 If don't have any, do not hesitate to try numerous examples。 I found book very helpful also after prod experience。 Book is also very good starting point for someone new to DevO Great book as introduction to Terraform and whole Infrastructure as a Code approach。 It describes every aspect and feature of the framework, some of them are repeated through whole book to underline their pros and cons。 But as it was mentioned, mastering of Terraform can be only achieved by managing real infra through it。 If don't have any, do not hesitate to try numerous examples。 I found book very helpful also after prod experience。 Book is also very good starting point for someone new to DevOps。 Somebody who has already some DevOps experience may found some chapters boring, but feel free to skip them, there are plenty references between chapters to already mentioned terms and also a lot of useful links and snippets。 。。。more
Michael,
Excellent introduction to Terraform that clarified the usage of the tool and provided some useful best practices。 Clearly written, although maybe a bit thin in some parts, with some slight inconsistencies, but overall an indispensable manual for Terraform users。
Avraam Mavridis,
It’s a solid start but I found it too lengthy for what it offers。 It could be 100 pages shorter, I didn’t get the point of giving Python or Ruby code and comparing it with Terraform。 It’s declarative, ok… no point of feeling pages with Ruby code
Alex Curtis,
Currently, this is the best introduction into Terraform that is on the market。 It isn't perfect, but this book does a really good job at taking someone who has never installed Terraform or used it and getting them up to what I would call "intermediate" level of knowledge。 I actually interviewed for several DevOps jobs that required Terraform experience by solely reading this book and following along with the tutorials。 It covers all the main Terraform concepts and I was able to even impress my i Currently, this is the best introduction into Terraform that is on the market。 It isn't perfect, but this book does a really good job at taking someone who has never installed Terraform or used it and getting them up to what I would call "intermediate" level of knowledge。 I actually interviewed for several DevOps jobs that required Terraform experience by solely reading this book and following along with the tutorials。 It covers all the main Terraform concepts and I was able to even impress my interviewers based off the knowledge from this book。The positives of the book would be that it covers all the main concepts of Terraform in a very easy-to-read way。 Chapter 1 is a solid introduction to Terraform, its purpose, and its history。 In chapters 2-5 you will actually follow a general infrastructure buildout from the first line of code, all the way through several refactors。 Each refactor adding new features or better structure to the system。 Essentially the author introduces a new concept and then shows how to improve our Terraform project by implementing that concept。 I think this is a very good teaching method for beginners。 The core features of Terraform are explained well and require no previous experience。The negatives that I would identify would be that it is very front-heavy。 Chapters 1-5 are pure gold。 Chapter 6 is decent, and the last two chapters (7-8) are a mess。 As others have pointed out, this book uses an older version of Terraform and several breaking changes have occurred。 But I was still able to follow along。 I assume the author will release a 3rd edition soon which should implement the new version 1 of Terraform which should be more stable going forward。I also want to warn readers that the infrastructure in this book is not even close to production-quality。 I think it is fine, since this is a book about Terraform and not Cloud Architecture, but it is worth noting。 I wish the author had put a little more effort into delineating that。 The examples in the book all use the AWS default VPC。 Many features of load balancers, networking, and HA are omitted。 I think it is ok, since the book is focused on Terraform itself and not the actual systems you are building。 But it could give naive readers a false sense of empowerment to go out and deploy this system used in the book。I was extremely interested in the final chapters about production-quality Terraform, using Terraform in a team, and automated testing with Terraform。 Unfortunately these are the weakest chapters。 Chapters 6 (Production Grade Terraform) is not very focused, but it does have some nuggets。 Chapter 7 about testing terraform is a disaster。 It did point me to a Terraform testing library which I will have to simply study elsewhere。 Chapter 8 about Terraform as a team could basically be summed up as "use lock files, and source control/git"。This book really starts off as a masterpiece。 Unfortunately it fails to stick the landing。 However, with all that being said, this is still the book I give every new team member that needs to learn Terraform。 Terraform is new and this is the most comprehensive guide that exists。 I usually tell them they only need to read the first 5 chapters。 。。。more
Manuel Quintero,
u
Matt McCormick,
I don't think you could ask for a more thorough book on Terraform。 I don't think you could ask for a more thorough book on Terraform。 。。。more
Geoff,
This in an excellent introduction to Terraform and HCL。 Will you need to reference the documentation on HashiCorps site? Sure。 But, I don't understand all the negative reviews on amazon, it does exactly what it claims to do - get you up and running with Terraform。 The chapter progression is just right the editing is good with few errors。 I wish all O'Reilly books were done this well。 The only ding I'm giving is for it's sole focus on AWS。 I would have been nice to have seen examples from other p This in an excellent introduction to Terraform and HCL。 Will you need to reference the documentation on HashiCorps site? Sure。 But, I don't understand all the negative reviews on amazon, it does exactly what it claims to do - get you up and running with Terraform。 The chapter progression is just right the editing is good with few errors。 I wish all O'Reilly books were done this well。 The only ding I'm giving is for it's sole focus on AWS。 I would have been nice to have seen examples from other platforms, but that's a minor ding。 4。5 stars。 。。。more
Karol Szczepański,
The book does a deep dive in all the features of Terraform and also includes nice bonuses like how to use in a team, how to use it in production and the general overview of Infrastructure as Code and Configuration Management which gives it a great background。 Highly recommended to anyone looking to systematize their knowledge about Terraform or learn it from scratch。 It's a little shame that the examples were all based on AWS without really touching other providers, but the code samples were mos The book does a deep dive in all the features of Terraform and also includes nice bonuses like how to use in a team, how to use it in production and the general overview of Infrastructure as Code and Configuration Management which gives it a great background。 Highly recommended to anyone looking to systematize their knowledge about Terraform or learn it from scratch。 It's a little shame that the examples were all based on AWS without really touching other providers, but the code samples were mostly up to date and the only problem I had with it has been resolved in the accompanying GitHub repository mentioned throughout the book。 。。。more
Alessio,
Good enough, lots of tricks to solve daily challenges but only few practical exercises
Rob,
I like the practical, hands-on approach here -- and esp。 that Brikman doesn't shy away from the "soft skills" elements required to on-board a technology like Terraform into your org。 (Totally worth a couple pages describing how to build empathy with the managers and directors, find their pain points, and show them how something like this could solve a real world problem。 ALSO worth a whole chapter on how to use it as part of a team!)IaC is something I'm still learning, so there were a few places I like the practical, hands-on approach here -- and esp。 that Brikman doesn't shy away from the "soft skills" elements required to on-board a technology like Terraform into your org。 (Totally worth a couple pages describing how to build empathy with the managers and directors, find their pain points, and show them how something like this could solve a real world problem。 ALSO worth a whole chapter on how to use it as part of a team!)IaC is something I'm still learning, so there were a few places I needed to double-back and re-read, but I chalk that up to my unfamiliarity with things like AWS and VPCs and subnets。。。Would recommend this to Ops engineers looking to get up-and-running with Terraform, as well as software developers with a DevOps mindset that are looking for ways to understand their infrastructure better。 。。。more
Alex Ott,
Really, between 4 & 5。。。very good introduction into terraform, showing how to solve problems with it, and most important - how to productionalize its use。
Zack Brown,
A great resource。 Bought the book for the last 3 chapters but found a lot of good information in the early parts。 Highly recommend for anyone trying to run Terraform in production。
Smartaquarius,
Detailed explanation on different aspects of terraform。 But, it is totally based on aws nothing related to azure is covered。 Still, I suggest to go for this book as it helps in understanding the way to organise your projects appropriately。
kevin,
I read the first edition of this book, so the terraform version is a little dated, making the exercises hard to follow at times。 Also goes to show how fast terraform is evolving and not even yet hit the first leading major version, I。e。, 0。* version only。 The other challenge was also the intro of terragrunt, by the author, which made an entry and then disappeared later on, making it hard to follow the tutorial style text。 As someone coming from a dev background, IaC comes fairly naturally and al I read the first edition of this book, so the terraform version is a little dated, making the exercises hard to follow at times。 Also goes to show how fast terraform is evolving and not even yet hit the first leading major version, I。e。, 0。* version only。 The other challenge was also the intro of terragrunt, by the author, which made an entry and then disappeared later on, making it hard to follow the tutorial style text。 As someone coming from a dev background, IaC comes fairly naturally and all the practice seems logical。 I imagine codifying “hardware” setup and configuration also should be natural to infra people, maybe even more so, as I think, for operations, there is even more incentive to keep things neat and tidy so that workloads are always up and running。 On hindsight, without the proliferation of cloud, it would hard to see IaC taking hold as the languages would be so fragmented across each infra built out。Anyway, I digress but my point is IaC is quite natural and terraform does this declaratively。 And like most declarative situations, there are tactical know how to deal with imperative needs and the lack of if/then conditional in the language also requires some workaround。 The fact that IaC goes to “production” straightaway, so automation testing (which is a benefit of changing infra setup steps to code) also had to be dealt with in special cases。 This part was dealt with in a fairly short section and leaves the imagination for the readers。 。。。more
Brett Weir,
Straight and to the point, with a lot of interesting insights。 I've been reading this book while implementing Terraform for our organization。 I've run into many counterintuitive aspects of Terraform along the way, then found a whole section discussing the exact issue in the next chapter。 This is clearly someone who has used it extensively, with hard-won experience, and I feel more confident implementing Terraform having read the book。 That being said, I felt this book left open some very importa Straight and to the point, with a lot of interesting insights。 I've been reading this book while implementing Terraform for our organization。 I've run into many counterintuitive aspects of Terraform along the way, then found a whole section discussing the exact issue in the next chapter。 This is clearly someone who has used it extensively, with hard-won experience, and I feel more confident implementing Terraform having read the book。 That being said, I felt this book left open some very important questions about workflow。The two-big-repos approach used throughout the book complicates CI implementation significantly, in my experience。 I prefer more, smaller repos, each with their own CI, which the Terraform Registry itself encourages by design。 This allows projects to follow standard forms, and CI to be reused very easily。 Big-box projects tend to have many deliverables in one repo and encourage very custom CI pipelines, and when a project has many deliverables, their lifecycles are tied together, like it or not。This wasn't discussed in the book, and I really hoped it would be。 It was taken for granted that I, as reader, would accept the layout with question, but I know this choice has real consequences, and these must be discussed。 Many organizations take this approach, and I'd like to understand how they resolve the immediate problems of coupling, access control, and release engineering that arise when every module lives in the same tree。 I hope that in a next edition, Brikman discusses these tradeoffs in more detail。All that aside, I enjoyed the read and I enjoy Brikman's writing more generally。 I read "Hello, Startup", and I'm likely to read his next book as well。 =P 。。。more
Łukasz Słonina,
Very good introduction to concepts of IaC then basics and advanced Terraform aspects。 Currently only book worth reading on that topic。 Lots of coffee samples with explanation, tests in Go。 The only minus for me is that all examples are with AWS, would like to see code for different cloud providers, at least one chapter。
Erick,
I've been a big fan of Yevgeniy ever since I read his Terraform series on Medium。 One of the most important things often missing from tutorials are what is the problem and why should people use this to solve it。 Yevgeniy always addresses the why first and foremost。This book is an excellent introduction to why companies need to incorporate DevOps, why use infrastructure as code, and specifically why use Terraform。 He walks you through the best practices of project structure, testing, collaboratio I've been a big fan of Yevgeniy ever since I read his Terraform series on Medium。 One of the most important things often missing from tutorials are what is the problem and why should people use this to solve it。 Yevgeniy always addresses the why first and foremost。This book is an excellent introduction to why companies need to incorporate DevOps, why use infrastructure as code, and specifically why use Terraform。 He walks you through the best practices of project structure, testing, collaboration, third-party tools, CI/CD, and more。 Yevgeniy is clearly an expert and shares many of the nuances and gotchas that only come with experience。I honestly think this is the best resource on Terraform, and should be mandatory reading for anyone needing to quickly get up to speed。The only negative was reading large blocks of code spanning multiple pages was a little difficult at times, but maybe that's just a limitation of the medium。 。。。more
Son,
This book will teach you how to get started with Terraform, the best practices when organizing Terraform codebase and caveats to using conditional clauses or zero downtime deployment。 I think this is the best book to get introduced to Terraform and partly AWS。 After finishing, diving into Terraform docs and each provider API will certainly help。
Alex,
V2's great。 Great for newbies。 Shed light on Terraform & related tools。 Also lots of best practices included like modules。 V2's great。 Great for newbies。 Shed light on Terraform & related tools。 Also lots of best practices included like modules。 。。。more
Daniel,
2nd edition Kindle version。This book might be frustrating without prior AWS knowledge。 All of the examples are based in AWS and build off of each other。The author makes comparisons between Terraform modules and Ruby functions, including full code snippets, which I don't think adds much value。 I feel Ruby was a strange choice considering the example Terraform test code is in Go。The book does contain some useful ideas for approaching Terraform generally as well as practical examples of tying the v 2nd edition Kindle version。This book might be frustrating without prior AWS knowledge。 All of the examples are based in AWS and build off of each other。The author makes comparisons between Terraform modules and Ruby functions, including full code snippets, which I don't think adds much value。 I feel Ruby was a strange choice considering the example Terraform test code is in Go。The book does contain some useful ideas for approaching Terraform generally as well as practical examples of tying the various features together。 The content is somewhere between a blog post and a proper book。 。。。more
Hasse,
I read the second edition。 Could use better proofreading。 And better tested examples(as some of them are not working doing them as described)。 I was a little disappointed working with terraform for some years now
Francis Foster,
Great Terraform resource, but the golden nugget of the book is Yevgeniy Brikman's Production-Grade Infrastructure Checklist。 I'm coming up with a mnemonic as we speak。 Great Terraform resource, but the golden nugget of the book is Yevgeniy Brikman's Production-Grade Infrastructure Checklist。 I'm coming up with a mnemonic as we speak。 。。。more
Bas Langenberg,
Although a good reference guide to how to setup a Terraform project, it is still a bit too much about syntax for me。 For which I would refer to the project documentation。
Andy Airey,
Read the first version (terraform 0。8)。Decent if you are new to Terraform, but most of it was pretty obvious already by reading about the tool online。The chapter about working with Terraform in Teams was still pretty relevant, though。
Max Wolffe,
This book was my first introduction to Terraform and I found it immensely helpful。The code examples on Github are very clear, I found myself lost just following along in the book。 I highly recommend that readers use the code examples while working through the book。 Good:- Well written - Brikman is clearly an experienced writer and this practice shows。 The book is enjoyable to read while presenting dense technical content。- Well structured - We start with a “Hello World” example to get the reader This book was my first introduction to Terraform and I found it immensely helpful。The code examples on Github are very clear, I found myself lost just following along in the book。 I highly recommend that readers use the code examples while working through the book。 Good:- Well written - Brikman is clearly an experienced writer and this practice shows。 The book is enjoyable to read while presenting dense technical content。- Well structured - We start with a “Hello World” example to get the reader up and running, then move onto more complex topics (shared state management, testing, modularization)。 The book finishes with a discussion of the very important subject of people management with Terraform - how do we introduce Terraform to a team and convince management to adopt this new technology?- Inclusion of lots of recommended reading for the interested to extend their knowledge。 Suggestion for improvement:- AWS examples only。 Minor nit here, but it’s kind of a bummer that the examples in the book and on github are aws only。 I can’t blame the author here, since the point is Terraform, not your favorite provider X。- Inclusion of problems。 I’d love to have an “Extra for Experts” of challenges for readers to solve to solidify their knowledge。Overall:A well written guide through Terraform and it’s associated best practices! Highly recommend。 。。。more
Kevin Gunn,
Great introduction to Terraform。 A recommended read for those who are getting started with terraform。